perm filename LOOK.FAI[MSS,LCS] blob
sn#132688 filedate 1974-11-27 generic text, type T, neo UTF8
00100 TITLE LOOK
00200 INTERNAL LOOK,LOOKD,LOOKF,PAC,UNPAC
00300
00400 CH←13
00500
00600 REGS: BLOCK 20
00700
00800 ;LOOK(<FILE>) FOR NO EXT., LOOKD() FOR .DAT, LOOKF() FOR .DMD
00900
00910 LOOKF: 0
00920 MOVSI 0,'DMD'
00930 JRST LOOK1
01000 LOOKD: 0
01100 MOVSI 0,'DAT'
01200 JRST LOOK1
01210 LOOK: 0
01220 MOVEI 0,0
01230 LOOK1: MOVEM 0,DIR+1
01240 MOVE 0,@(16)
01250 MOVEM 0,FILNAM
01260 JSA 16, INTFIZ
01270 SETZM DIR+2
01280 SETZM DIR+3
01290 LOOKUP CH,DIR
01300 TDZA 0,0
01310 MOVNI 0,1
01320 JRA 16,1(16)
03000
03100 INTFIZ: 0 ;INITS DSK FOR INPUT
03200 MOVEI REGS
03300 BLT REGS+3
03400 INIT CH,17
03500 SIXBIT/DSK/
03600 0
03650 HALT .-3
03700 ; ERROR <CAN'T INIT DSK!>
04100
04300 INTF4: MOVE 0,FILNAM#
04400 MOVEM 0,FN#
04500 MOVE 1,[POINT 7,FN]
04600 INTF3: MOVE 2,[POINT 6,DIR]
04700 SETZM DIR
04800 MOVEI 3,5
04900 INTF1: ILDB 0,1
05000 CAIN 0," "
05100 JRST INTF2
05200 SUBI 0,40
05300 IDPB 0,2
05400 SOJG 3,INTF1
05500 INTF2: HRLZI REGS
05600 BLT 3
05700 JRA 16,0(16)
05710
05800 DIR: BLOCK 4
05900
06000
07100 PAC: 0 ;CALL PAC(PW,AR)
07200 HRRZ 1,1(16)
07300 ADDI 1,2
07400 HRR 2,@1 ;SIZE IS 12 BITS
07500 LSHC 2,-10
07600 SOJ 1,
07700 HRR 2,@1
07800 LSHC 2,-16
07900 SOJ 1,
08000 HRR 2,@1
08100 LSHC 2,-16
08200 MOVEM 3,@0(16)
08300 JRA 16,2(16)
08400 UNPAC: 0 ;CALL UNPAC(PW,AR)
08500 HRRZ 1,1(16)
08600 ADDI 1,2
08700 MOVE 2,@0(16)
08800 LSHC 2,-10
08900 ASH 3,-34
09000 MOVEM 3,@1
09100 SOJ 1,
09200 LSHC 2,-16
09300 ASH 3,-26
09400 MOVEM 3,@1
09500 SOJ 1,
09600 LSHC 2,-16
09700 ASH 3,-26
09800 MOVEM 3,@1
09900 JRA 16,2(16)
10000 END